With the compactness, high performance, and portability of electronic devices, there have been demanded environments where terminals are connected to a network at any location, if necessary, to perform communication. A network that is temporarily established, if necessary, called wireless ad-hoc network technology, has been being developed. In a wireless ad-hoc network, no particular access point is provided, and terminals (e.g., computers, personal digital assistances (PDAs), portable phones, etc.) that are independently decentralized are connected with one another. In such a wireless ad-hoc communication system, there also has been demanded confidentiality using encryption, etc., to perform transmission and reception of important information or private communication safely without interception of any third party.
Generally, two encryption methods are employed for encrypting communication content, i.e., a common key encryption method in which the same common key is used by the encrypting and decoding parties, and a public key encryption method in which encryption is performed using a public key and decoding is performed using a secret key. The common key encryption method enables encryption and decoding at high speed; however, the communication parties must share a common key beforehand using a certain method. On the other hand, although the processing is slower than the common key encryption method, the public key encryption method has an advantage in that the communication parties need not share a key. Therefore, a hybrid encryption method combining the high-speed performance of the common key encryption method and the usability of the public key encryption method is widely used. More specifically, a common key is encrypted using the public key encryption method and is then transmitted, and the common key that is shared between the communication parties is used to encrypt actual communication data.
The common key used for encrypting communication data is classified into a unicast encryption key and a broadcast encryption key depending upon the use. The unicast encryption key is a common key for use in unicast communication between two terminals, which is not known by terminals other than those two terminals. The broadcast encryption key is a common key used when each terminal decodes broadcast communication from a terminal, which is shared by all terminals involved with the broadcast communication. Therefore, the broadcast encryption key is generally more difficult to provide confidentiality than with unicast encryption key.
In a traditional communication system, broadcast encryption keys are managed solely by a specific device on a network in order to ensure the confidentiality of the broadcast encryption keys in a broadcast group. For example, a technique for encrypting a broadcast message using a broadcast encryption key that is configured in advance by a wireless carrier, which is a network owner of mobile devices, has been proposed (see, for example, PCT Japanese Patent Publication No. 2002-501334 (FIG. 1)).
Although broadcast encryption keys are managed at one location in a traditional communication system, terminals are always moving in a wireless ad-hoc communication system. The terminals frequently participate in or are disconnected from a network, and therefore, terminals constituting a broadcast group cannot be fixed. Due to the nature of wireless media, a communication path to such a sole management device is not always maintained. Therefore, the wireless ad-hoc communication system is not suitable for sole management.
Accordingly, it is an object of the present invention to provide independent and distributed management of broadcast encryption keys in a wireless ad-hoc communication system. The present invention is particularly useful in a wireless network in which all wireless terminals setting up the network transmit management information (such as a beacon).